PROJECT STRUCTURE


Coperta va contine:

Facultatea de Cibernetica, Statistica si Informatica Economica

Catedra de Informatica Economica

Disciplina: Structuri de date






PROIECT


titlul ales al proiectului




nume student si grupa

Bucuresti 2008

Cuprinsul va contine:

1. Introducere

2. Definire problema

3. Datele de intrare

4. Formule de calcul si alegerea structurii de date eficiente

5. Rezultate afisate sau stocate

6. Algoritmi utilizati

7. Structura programului

8. Rezultatele testarii

9. Concluzii

BIBLIOGRAFIE

Anexa 1 diagrame

Anexa 2 texte sursa

1. Introducere

Obiectivul proiectului este alegeerea structurii eficiente destinate rezolvarii problemei de .........
Pentru rezolvarea problei se considera o serie de H structuri de date, H >2.
Pentru fiecare structura se construieste o varianta de program.
Vor exista variantele V1, V2,..., VH.
Aceste variante au aceleasi:
- date de intrare
- formule de calcul
- rezultate finale.
Difera numai structurile de date, expresiile de referire, nivelul de generalitate, procedurile de lucru cu structuri de date.

Necesitatea este data de:
- economisirea de timp
- reutilizarea de proceduri din biblioteci
.......................
- obtinerea unui program cat mai usor de actualizat.

Pentru atingerea obiectivului se parcurg urmatoarele etape:
- se definste problema prin.....
- se stabilesc datele de intrare, rezultatele si algoritmii
- se aleg H structuri de date care se considera a fi adecvate
- se scriu H variante de program cu aceste structuri
- se testeaza si se fac masuratori
- se alege structura considerata cea mai potrivita.

Pentru a realiza proiectul a fost consultata o bibliografie formata din X carti, Y articole si Z site-uri.

In proiect se includ doua anexe in care se prezinta diagramele de descriere a algoritmilor de prelucrare si textele sursa, intre care este o perfecta concordanta.

2. Definirea problemei

Se stabileste grupul tinta, colectivitatea, prin numar si particularitati de descriere a carateristicilor de identificare si de masurare.
Se stabilesac rezultatele ce se vor obtine.
Se precizeaza care sunt datele de intrare.
Se scriu formulele de calcul prin care se vede ca:
- datele de intrare sunt folosite in formule
- rezultate din calcule sunt afisate.
Se configureaza modul de grupare a datelor:
- in articole daca sunt date neomogene ce privesc elementele colectivitatii
- in structuri omogene daca elementele colectivitatii sunt definite prin caracteristici care se masoara in acelasi fel, cu aceleasi unitati de masura, au acelasi domeniu de definire.
Problema este bine definita daca:
- este clara pentru cel care va scrie programul
- nu exista date de intrare in plus care sa nu fie prelucrate
- nu exista rezultate care sa nu fie utilizate in rapoarte
- toate formulele de calcul au fost precizate si nu vor mai apare in timp altele uitate de cel care a prezentat problema.

3. Datele de intrare

Acestea privesc: - numarul de elemente din colectivitate
- numarul caracteristicilor cu care se descriu elementele colectivitatii
- campurile asociate caracteristicilor: tip, lungime
- mod de culegere a datelor.
Se prezinta modalitati de culegere a datelor sub forma de tabele.
Se descriu procedurile de efectuare a masuratorilor.
Se identifica tipuri de erori in culegerea datelor.
Se stabilesc corelatii intre date pentru a efectua eventual corectii manuale sau corectii automate.

4. Formule de calcul si alegerea structurii de date eficiente

Pentru campurile din datele de intrare se stabilesc:
- nume
- formule de referire.
Se construiesc formule ce includ:
- variabilele rezultative
- sume de termeni
- limite de variatie ale variabilelor de control.
Modelul matematic asociat problemei de rezolvat trebuie astfel construit incat:
- toate tabelele care se afisaza ca rezultate sa contina elemente ce provin din datele initiale sau din calcule
- conditiile de selectie a datelor sa rezulte explicit si sa fie reflectare tot astfel in program
- intre program si model sa existe o corespondenta clara; fiecarei formule trebuie sa-i corespunda o secventa de prelucrare.

5. Rezultate afisate sau stocate

La analiza problemei de rezolvat, rezultatele apar fie ca un:
- numar
- sir de numere
- text
- text si un numar
- perechi: text si numar
- tabel
- set de tabele diferite ca structura.
Rxemplul de control trebuioe sa contina toate situatiile ce prevad rezultate cu structuri diferite.

6. Algoritmi utilizati

Exista mai multi algoritmi care se regasesc in aplicatii informatice, dintre care se evidentiaza cei pentru:
- creare fisier
- sortare fisier
- traversare fisier
- selectie articole
- calcule totaluri
- initializare matrice
- calcule cu matrice
- agregari si aplicari teste
- lucru cu coloane din matrice
- lucru cu linii din matrice
- preluare texte
- construire vocabulare
- construire vectori de frecvente.
Pentru a rezolva o problema trebuie mai intai:
- sa se identifice ce proceduri existente se utilizeaza
- care sunt elementele noi ce trebuie elaborate.
Algoritmii se construiesc si trebuie sa indeplineasca urmatoarele cerinte:
- sa fie generali
- sa fie deterministi
- sa fie reproductibili.
Pentru seturile de date de test se va verifica daca diagramele asociate conduc la rezultate care sa fie identice cu cele specificate.
In cazul in care apar diferente se verifica daca:
- exista greseli in diagrame
- exemplele de test sunt eronate.
In toate cazurile trebuie efectuate corectiile.
Algoritmii care se construiesc sunt de rutina. Exista putine cazuri in care algoritmii sunt originali si mai ales conduc la solutionarea unor probleme de exceptie.In acest caz trebuie sa se elaboreze di demonstratiile prin care se arata ca intr-adevar, algoritmii sunt cei cautati.

7. Structura programului

Programul are ca structura o arborescenta organizata pe niveluri.
Pentru fiecare structura de data aleasa se construieste cate un program
Rezulta o multime de variante de program
Programul apelator al fiecarei variante este pe primul nivel.
Pe celelalte niveluri se regasesc proceduri ce corespund operatiilor de lucru cu structura de date aleasa.
Programele se autodocumenteaza.
Intre model, diagramele algoritmilor si variantele de program exista o stransa legatura data de:
- utilizarea acelorasi nume de variabile
- recunoasterea secventelor asociate formulelor de clacul
- modul de incorporare in structurile alternative a expresiilor de selectie
- efectuarea repetarilor pentru construirea de sume
- gruparea in proceduri pentru a asigura omogenitatea secventelor
- neincluderea de instructiuni de citire/scriere in proceduri
- externalizarea citirilor si scrierilor in proceduri strict dedicate functiilor I/O.

8. Rezultatele testarii

Din definirea problemei rezulta seturile de date de test.
Pentru fiecare set de date de test si varianta de program, se consemneaza ce rezultat s-a obtinut si care sunt diferentele fata de cele existente in specificatii.
Trebuie sa rezulte clar cum se comporta programulin cazul fiecarei variante.
Se inscriu date de comportament:
- durate de executie
- volum de prelucrari
- cerinte de depanare
- cazuri speciale si mod de solutionare
- interpretarea listei de mesaje.
Trebuie sa rezulte care sunt diferentele dintre variantele de program.
Se compara rezultatele din executia variantelor pentru aceleasi seturi de date.
Va rezulta care varianta este mai buna si care structura de date se dovedeste a fi eficienta.

9. Concluzii

Se precizeaza:
- structura de date adecvata si de avantaje aduce
- ce modificari implica mentenanta produsului
- dezvoltarea viitoare a aplicatiei
- limitele solutiei.

Bibliografie

Se construieste un tabel cu doua coloane.
Prima coloana contine un identificator al lucrarii.
A doua coloana contine: nume autor, titlul lucrarii, editua, oras, am. Daca este vorba de articole in revista veti pune: numele revistei, volum, numar, an si paginile unde se afla articolul.
Daca se lucreaza cu pagini web este necesar sa se incarce pe un CD acele texte si mai ales sa se mentioneze adresa de unde s-a facut incarcarea si data.

Anexa 1 Diagrame

Se includ fie scheme logice, fie alte diagrame acceptate de tehnicile de programare utilizate.

Anexa 2 Texte sursa

Se includ textele sursa pentru toate variantele de program construite pentru structurile de date considerate adecvate NUMAI DUPA ce au fost rulate si este siguranta ca aceste SI MERG,
adica dau rezultate corecte.

Coperta ocupa o pagina
Cuprinsul ocupa o pagina
Capitolele incep pe pagina noua.
Paginile se numeroteaza.
Se utilizeaza diacritice.
Figurile se refera cu w.1, w.2,..., w.k, w marcand capitolul.
Tabelele se marcheaza cu v.1, v.2,..., v.s unde v reprezinta capitolul.
Textul figurii apare sub figura.
Textul tabelului apare deasupra acestuia.
Se evita:
- folosirea verbului A PUTEA
- folosirea verbelor la conditional si viitor
- textul are verbele la modul impersonal
- repetitiile de cuvinte in propozitie
- iesirea din cerintele minimale date pentru elaborare .
NUMAI UN PROIECT CARE RE$SPECTA ACESTE CERINTE ESTE LUAT IN CALCUL PENTRU NOTARE
NOTA DEPINDE DE:
- profunzimea abordarii
- numarul de structuri de date considerate
- complexitatea solutiei
- generalitatea procedurilor
- fiabilitatea programului la reluarea testarii
- diversitatea seturilor de date de test
- nivelul de autodocumentare
- asigurarea corespondentei dintre model-diagrame text sursa
- prezentarea proiectului.
Pentru acest proiect se obtin MAXIMUM 3(trei) PUNCTE.
Nota la examen:
maximum 3 puncte seminar
maximum 3 puncte curs
maximum 3 puncte proiect
1 punct din oficiu.
------------------
TOTAL maximum 10 puncte

back data structures projects